/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package CapadeDatos;

/**
 *
 * @author principal
 */
import CapadeDatos.ConexionBD;

import java.sql.CallableStatement;
import modelo.beanperiodo;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import javax.swing.JOptionPane;
import modelo.beanusuario;
import proyectocatalina.Login;

//import model.beanarea;




/**
 *
 * @author user
 */
public class DaoPeriodo{
/*
 * Clase donde llamas al procedimiento almacenado y los resultados lo almacenamos
 * en un arraylist de beans que hemos creado anteriormente
 *
 */
  public static  ArrayList nombreCarrera(){
           ArrayList lista = new ArrayList();
    try{
            Connection cn = ConexionBD.getInstance().getConnection();
            Statement stm = cn.createStatement();
            String sql ="Call proc_verperiodoycodigo();"; // PROCEDIMIENTO ALMACENADO
            ResultSet rs =stm.executeQuery(sql);
            while (rs.next()){
                   beanperiodo alumno  = new beanperiodo();
                   alumno.setNombreperiodo(rs.getString(1));
                   alumno.setCodigo(rs.getString(2));
                   lista.add(alumno);
        }        
    }catch(Exception e){System.out.print(e);
   }return lista;
   }
    private beanusuario User;

  public void insertarperiodo(String cod_periodo , String descripcion,java.sql.Date fecha_inicio, java.sql.Date fecha_fin){
        Boolean verdad = false;
    try{
            Connection cn = ConexionBD.getInstance().getConnection();
//            Statement stm = cn.createStatement();
            String updateString = "Call proc_registroperiodo(?,?,?,?)";
            CallableStatement insertperiodo = (CallableStatement) cn.prepareCall(updateString);
            insertperiodo.setString(1,cod_periodo);
            insertperiodo.setString(2, descripcion);
            insertperiodo.setDate(3, fecha_inicio);
            insertperiodo.setDate(4, fecha_fin);
            
            User = Login.usuarioglobal;
            String sql3 = "Call proc_auditoria(?,?,?,?,?,?)";
            Connection cn4 = ConexionBD.getInstance().getConnection();
            CallableStatement insertauditoria = cn4.prepareCall(sql3);
            insertauditoria.setInt(1, User.getIdUsuario());
            insertauditoria.setString(2, "Periodo");
            insertauditoria.setString(3, "insertar");
            insertauditoria.setString(4, "nulo");
            insertauditoria.setString(5,cod_periodo+", "+descripcion+", "+fecha_inicio+", "+fecha_fin);
            insertauditoria.setString(6,"nulo");
            if(insertperiodo.execute()){
               verdad = false;
               JOptionPane.showMessageDialog(null,"NO INGRESADO");
            }
            else {
                 verdad = true;
                 insertauditoria.execute();
                JOptionPane.showMessageDialog(null,"INGRESADO");
            }
    }catch(Exception e){System.out.print(e);
    JOptionPane.showMessageDialog(null,("Se ah presentado un error: "+"\n"+e+"\n"+ "Comuniquese con su administrador"));
   }
   }
}




